Tame automorphism public key system

ABSTRACT

The present invention relates to a tame automorphism based encryption system or scheme. Let K be a finite field of 2 m  elements. Let .o slashed. 4 ,.o slashed. 3 ,.o slashed. 2 , .o slashed. 1  be tame automorphisms (see above) of the ring K x 1 , . . . ,x n+r  !. Let the composition be π=.o slashed. 4  .o slashed. 3  .o slashed. 2  .o slashed. 1 . The automorphism π and the factorization π=.o slashed. 4  .o slashed. 3  .o slashed. 2  .o slashed. 1  are hidden. Let π=(π 1  (x 1 , . . . ,x n+r ), . . . , π n+r  (x 1 , . . . , x n+r )). The field K and the polynomials (f 1 , . . . , f n+r )=(π 1  (x 1 , . . . ,x n , 0, . . . ,0), . . . ,π n+r  (x 1 , . . . ,x n ,0, . . . ,0)) will be announced publicly. Let (x&#39; 1 , . . . ,x&#39; n ) be the plaintext. Then the cyphertext will be (y&#39; 1 , . . . ,y&#39; n+r )=(f 1  (x&#39; 1 , . . . ,x&#39; n ), . . . , f n+r  (x&#39; 1 , . . . ,x&#39; n )). It is easy to find .o slashed. i   -1  ((y&#39; 1 , . . . , y&#39; n+r )) (see Corollary 2). Therefore, it is easy to recover the plaintext (x&#39; 1 , . . . ,x&#39; n )=.o slashed. 1   -1  .o slashed. 2   -1  .o slashed. 3   -1  .o slashed. 4   -1  π((π 1 , . . . ,x&#39; n )). However without knowing the automorphism π precisely and the decomposition π=.o slashed. 4  .o slashed. 3  .o slashed. 2  .o slashed. 1 , it is very hard to find plaintext (x&#39; 1 , . . . ,x&#39; n ). The encryption system or scheme may be applied to electronic message transmission, data storage, smart card security, and product verification applications.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefits under Title 35, U.S.C. §119(e) of the U.S. Provisional Application Serial No. 60/008,676, filed Dec. 15, 1995.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to public key cryptography.

2. Related Art

Cryptography systems or schemes are used to encode messages that are either preserved or transmitted electronically, to preserve the privacy and the integrity of the messages, as well as to authenticate the originator of the message.

In single key cryptography, or symmetric cryptography, a single key is used to encrypt and decrypt data or a transmitted message according to a predetermined mathematical formula. In the single or symmetric cryptography method, the single key must be maintained in secrecy or else the encrypted data or message may be easily decrypted.

A more secure encryption system involves a two-key encryption method. A typical asymmetric encryption system includes both a public key, a code made generally available to some media, and a private key, a code which is made available only to the rightful owner of the data or intended recipients of the message. Known asymmetric public key encryption systems include RSA and hybrid PGP systems. The RSA method uses the RC2, RC4, or RC5 encryption algorithm. In the hybrid PGP encryption systems, the encryption algorithm initially begins by converting a plain text data or message into a cyphertext data and message with a "session key" which is the symmetric IDEA method. The "session key" is then encrypted with the public key of the rightful owner of the data or the recipient of the message in the asymmetric RSA key distribution system, and the recipient decrypts the session key using the private key to extract the plain texts from the cyphertexts.

In conventional public key encryption systems, the public key of the user is used to identify a user, to avoid the problem of forgeries of data or impostors sending encrypted messages where the recipient is deceived into thinking another individual sent the message. To digitally sign a message, the sender needs only apply the private key, so anyone else can verify the authenticity of the message by applying the sender's public key.

In another application, to avoid the forgery of a product, say U.S. dollar bills, one can select the serial numbers to be special, say last nine digits all zeros, then uses the private key to encrypt the serial numbers. The detectives can use the public key to discover forgeries quickly.

However, these various public key encryption algorithms present their own computational difficulties. What is needed in the art is an improved public key encryption system to provide privacy, integrity, and authentication of data and electronic communications.

SUMMARY OF THE INVENTION

The present invention relates to a tame automorphism based public key encryption system or scheme. The present invention contemplates a computer program which implements the tame automorphism base encryption algorithm to encrypt and decrypt messages either sent electronically or encoded physically.

A computer would first apply an encryption algorithm of the present invention to encode a plaintext data or message to be transmitted electronically. The encryption method produces a cyphertext data or message for sending via an electronic medium. The computer system of the rightful owner of the data or the message recipient would decrypt the cyphertext by using the tame automorphism based decryption algorithm to extract the original plaintext message. In this way, data may be secured, and messages may be securely transmitted over the airwaves or an open network.

BRIEF DESCRIPTION OF THE DRAWINGS

The above mentioned and other features and objects of this invention, and the manner of attaining them, will become more apparent and the invention itself will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a flow chart diagram of a first method of the present invention;

FIG. 2 is a flow chart diagram of a second method of the present invention; and

FIG. 3 is a schematic diagram of a computer system of the present invention.

Corresponding reference characters indicate corresponding parts throughout the several views. Although the drawings represent embodiments of the present invention, the drawings are not necessarily to scale and certain features may be exaggerated in order to better illustrate and explain the present invention. The exemplification set out herein illustrates embodiments of the invention, in one/several form(s), and such exemplifications are not to be construed as limiting the scope of the invention in any manner.

DESCRIPTION OF THE INVENTION

The embodiment disclosed below is not intended to be exhaustive or limit the invention to the precise form disclosed in the following detailed description. Rather, the embodiment is chose and described so that others skilled in the art may utilize its teachings. The encryption and decryption method of the present invention is not limited to a particular hardware or system configuration, rather may be broadly applied in a variety of computer hardware and computer software settings.

The invention involves the preservation of data, authentication of data, and the transmission of messages, in digital or analog form, wherein the data or message is subject to an encryption algorithm, and is decoded using decryption algorithm. In a public key methodology, one of the two encryption keys is made generally available, while the other encryption key is maintained privately.

FIG. 1 shows a flow chart of a public-private key encryption scheme. In step 10, the message is encrypted into cyphertext using a tame automorphism based algorithm, as explained in greater detail below. The cyphertext message is transmitted in step 12, so that it is received in step 14. Finally the cyphertext is decrypted with a private key in step 16, again using a tame automorphism based algorithm.

A similar procedure is shown in FIG. 2, but with the initial encryption step 20 using a private key. Steps 22 and 24 relate to sending and receiving the cyphertext, with step 26 decrypting the cyphertext with a public key.

A computer system implementing these steps is depicted in FIG. 3. Computers 32 and 32' include programs 30 and 32' which enable the tame automorphism based encryption and decryption algorithms. Transmission devices 30 and 30', such as a modem, a smart card (e.g., an electronically preprogrammed debit card), a hard disk file system, or a physical item's serial number, may be used to transmit the message. The method of the invention may also be used to encrypt data stored on computer 32 or 32' to prevent tampering. Although electronic communication is greatly enhanced by the present invention, the methods of the present invention may also be applied to physical communications for authentification purposes. In order to establish the encryption algorithm, it is necessary to define the mathematical parameters of the equations used to perform the encryption and decryption.

Mathematical Background

1!. Introduction

Let K be a finite field of q=2^(m) elements. Let K x₁, . . . ,x_(n) ! be the polynomial ring of n variables, x₁, . . . ,x_(n), over K. Consider a sequence of automorphisms .o slashed._(i) of K x₁, . . . ,x_(n) ! defined either as, ##EQU1## or as, .o slashed._(i) =invertible linear transformations

The automorphisms above are called tame automorphisms. It is easy to see that the inverse of a tame automorphism is also a tame automorphism, and is of either the following form: ##EQU2## or as .o slashed._(i) ⁻¹ =invertible linear transformations

The group generated by all tame automorphisms is called the tame automorphism group. It is an open problem in mathematics whether the automorphism group of K x₁, . . . ,x_(n) ! is the tame automorphism group for n>2.

Remark 1: The linear transformation .o slashed._(i) can be either the identity map or a permutation. Obviously, the order of the variables x₁, . . . ,x_(n) is not significant. Let π=Π.o slashed._(i) be an element in the tame automorphism group. Then we have

    y.sub.i =π(x.sub.i)=f.sub.i (x.sub.1, . . . ,x.sub.n) for i=1, . . . ,n (1)°

    x.sub.i =π.sup.-1 (y.sub.i)=g.sub.i (y.sub.1, . . . ,y.sub.n) for i=1, . . . ,n                                                    (2)°

Remark 2: In general, it is convenient to require that a tame automorphism .o slashed. is either a linear transformation or of the following forms in any order of the variables x₁, . . . ,x_(n), ##EQU3##

PROPOSITION:. Let a tame automorphism .o slashed._(i) be defined as in the preceding paragraph. We have the inverse .o slashed._(i) ⁻¹ (y_(j))=y_(j) -h_(ij) (.o slashed._(i) ⁻¹ (y_(j+1)), . . . ,.o slashed._(i) ⁻¹ (y_(n))).

PROOF: Trivial.

For instance, in the case of four variables, we have

    .o slashed..sub.i.sup.-1 (y.sub.1)=y.sub.1 -h.sub.i1 (y.sub.2 -h.sub.i2 (y.sub.3 -h.sub.i3 (y.sub.4),y.sub.4),y.sub.3 -h.sub.i3 (y.sub.4),y.sub.4)

    .o slashed..sub.i.sup.-1 (y.sub.2)=y.sub.2 -h.sub.i2 (y.sub.3 -h.sub.i3 (y.sub.4),y.sub.4)

    .o slashed..sub.i.sup.-1 (y.sub.3)=y.sub.3 -h.sub.i3 (y.sub.4)

    .o slashed..sub.i.sup.-1 (y.sub.4)=y.sub.4

In general, the total degree of .o slashed._(i) ⁻¹ (y₁) increases very fast. It is hard to write down the polynomials .o slashed._(i) ⁻¹ (y_(j)).

COROLLARY 1:. Given the set {y'_(j) }, it is easy to find the values {.o slashed._(i) ⁻¹ (y'_(j))} by induction; first, we have .o slashed._(i) ⁻¹ (y'_(n))=y'_(n), inductively if we have .o slashed._(i) ⁻¹ (y'_(j+1)), . . . ,.o slashed._(i) ⁻¹ (y'_(n)), then we have .o slashed._(i) ⁻¹ (y'_(j))=y'_(j) -h_(ij) (.o slashed._(i) ⁻¹ (y'_(j+1)), . . . ,.o slashed._(i) ⁻¹ (y'_(n))).

Proof: Trivial.

COROLLARY 2:. Given the decomposition π=Π^(i=n) _(i=1) .o slashed._(i) where .o slashed._(i) are tame automorphisms of the above forms, it is easy to find π⁻¹ (y'_(i)).

Proof: As usual, π⁻¹ =Π^(i=n) _(i=1) .o slashed._(i) ⁻¹. It follows from Corollary 1.

Remark 3: The inverse map .o slashed._(i) ⁻¹ as polynomials is hard to write down because their degrees could be very high as indicated by our later discussions. We can show that if n=2 and deg f₁ ≧2, then the highest degree forms of f₁, f₂ must be powers, up to some non-zero constants, of the same linear form and deg f₁, deg f₂ are divisible by the smaller one of the two degrees (cf 1!, 12!, 13!, 17!). Therefore the inverse g_(i) can be recovered inductively by performing further tame automorphism to cut down the degrees. However, for n≧3, the above considerations are no longer valid.

Remark 4: For n≧3, there is no known theorem to decompose an element π in the tame automorphism group into product of tame automorphisms Π.o slashed._(i).

Remark 5: If n≧4, let {m_(i) : i=1, . . . ,n} be positive integers, let I_(m) be the ideal of the kernels of the maps τ_(m) : K x₁, x₂, . . . ,x_(n) ! to K t! by

    τ.sub.m (x.sub.i)=t.sup.m.sub.i m.sub.i >0

then the numbers of the minimal generators of the ideals I_(m) are unbounded. (cf 6!).

The Public Key System

Principle: Let the user select two tame automorphism .o slashed.₁,.o slashed.₂, let π=.o slashed.₂ .o slashed.₁ and hide the decomposition. The user shall announce publicly the map π as polynomials π(x_(i))=f_(i) (x₁, . . . ,x_(n)), and the field K.

Let x'₁, . . . ,x'_(n) ε K be the plaintext. The sender evaluates y₁ =f_(i) (x₁, . . . ,x_(n)) (=π(x_(i))) at x'₁, . . . ,x'_(n) for the values of x₁, . . . ,x_(n). Let the results be y'₁, . . . ,y'_(n). These will be the cyphertext.

The legitimate receiver recovers the plaintext by x'₁ =π⁻¹ (y'_(i)) (=g_(i) (y'₁, . . . ,y'_(n)))=.o slashed.₁ ⁻¹ (.o slashed.₂ ⁻¹ (y'_(i))) which can be done easily according to Corollary 2.

Remarks 6: In general, we may consider π=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ for the product of k≧2 tame automorphims. Note that for the tame automorphism group of K x₁, . . . ,x_(n) !, the unique factorization of an element as a product of tame automorphisms is unknown. For k≧3, it is not known that if there are always tame automorphisms Ψ₁,Ψ₂ such that π=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ =Ψ₂ Ψ₁.

One possible way to carry out the above Principle is as follows: Select n≧3 and positive integers s, t. Let the field K be F_(2m) the finite field of 2^(m) elements. The user selects an element π of the tame automorphism group in the following way,

    .o slashed..sub.1 (x.sub.1)=x.sub.1                        (1)*

    .o slashed..sub.1 (x.sub.j)=x.sub.j +h.sub.j (x.sub.1, . . . ,x.sub.j-1)+p.sub.j (x.sub.1),                            (2)* deg(h.sub.j)=s, deg (p.sub.j)>s for j=2, . . . ,n

    .o slashed..sub.2 (x.sub.j)=x.sub.j +q.sub.j (x.sub.j+1, . . . ,x.sub.n), deg q.sub.j ≦t for j=1, . . . ,n-1                 (3)*

    .o slashed..sub.2 (x.sub.n)=x.sub.n                        (4)*

    .o slashed.(x.sub.i)=.o slashed..sub.2 .o slashed..sub.1 (x.sub.i)=f.sub.i (x.sub.1, . . . ,x.sub.n)                                 (5)*

An Example

Let m=1, n=101, s=100. Furthermore, let q_(j) (x_(j+1), . . . ,x₁₀₁) be a homogenous polynomial (which may be zero, if necessary) of degree 4 such that it has the following properties (1): each variable could appear at most linearly in every term. (2): each variable appears either exactly in two terms or not at all, and let τ_(ji) (x₁),s_(j) (x₁) be polynomials of x₁ of degrees less than 99. Let us consider the following example,

    .o slashed..sub.1 (x.sub.1)=x.sub.1                        (1)** ##EQU4##

    .o slashed..sub.2 (x.sub.j)=x.sub.j +q.sub.j (x.sub.j+1, . . . ,x.sub.101), for j=2, . . . ,101                                       (3)**

    .o slashed..sub.2 (x.sub.n)=x.sub.n                        (4)**

    π(x.sub.i)=.o slashed..sub.2 .o slashed..sub.1 (x.sub.i)=f.sub.i (x.sub.1, . . . ,x.sub.101)=y.sub.i                       (5)**

Let us count the number of terms in the sets {r_(ji) (x_(i))}, {s_(j) (x₁)}=2, we have 100 terms for s₂ (x₁). For j=3, we have 100 terms for s₃ (x₁) and 100 terms for r₃,2, continuously, for j=101 we have 100 terms for s₁₀₁ (x₁) and 9,900 terms for r₁₀₁,2, . . . ,r₁₀₁,100. Totally, there are possibly 505,000 terms in the sets {r_(i) (x₁)},{s_(j) (x₁)}. Therefore the number of possible .o slashed.₁ is greater than 2⁵⁰⁵,000 ≅10¹⁵¹,500. The inverse π is of the following form;

    π.sup.-1 (y.sub.1)=.o slashed..sub.1.sup.-1 .o slashed..sub.2.sup.-1 (y.sub.j)=x.sub.j (=g.sub.j (y.sub.1, . . . ,y.sub.101))

Note that it follows from Remark 2 that each polynomial .o slashed.₁ ⁻¹ (y_(i)) of variable y₁, . . . ,y₁₀₁ is of degree >99^(i-1) for i=1, . . . ,101. Note that the degrees are fairly large. Furthermore, it follows from Corollary 2 that it is easy to recover x'₁, . . . ,x'₁₀₁ from y'₁, . . . ,y'₁₀₁ for the legitimate user who knows .o slashed.₁,.o slashed.₂.

Cryptoanalysis for the System

It is not expensive for the legitimate user to select n, m, s, t, h_(j), p_(j), q_(j), the tame automorphism π, and to construct the inverse map π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ (cf Corollary 2), the polynomials f_(i) for i=l, . . . , n.

The expense to the sender is mainly in evaluating polynomials y'_(i) =f_(i) (x'_(l), . . . ,x'_(n)).

There are four ways to attack the system, (1) let x_(i) be polynomials of y_(i) with indeterminate coefficients. Do enough experiments using x_(i) to determine y_(i) and then solve the system of linear equations in the indeterminate coefficients to find polynomials g_(i) or (2) apply resultant to y₁ =f_(i) (x_(l), . . . ,x_(n)) to recover plaintext x_(i) or (3) find the maps .o slashed.₁,.o slashed.₂ directly or (4) use Newton Polyhedron Method to fined the maps .o slashed.₁,.o slashed.₂.

Let us discuss the costs involved for the above four ways;

(1) As we pointed out in Remark 2 that the total degrees of g_(j) are very high, for discussions, we may assume that they are all of degree 2s. Then there are n×(2s+1)(2s+2) . . . (2s+n-1)/n| possible terms. That is the dimension of the linear system. We conclude that it takes at least ((1/(n-1)|) (2s)^(n))².5 steps of multiplications to solve the system. In the field K, every multiplication takes 2m shift operations. Totally, it takes 2m((1/(n-1)|)(2s)^(n))².5 shift operations to solve the system.

For instance, in our previous example let us use the Sterling Formula and the following approximate estimate,

    n|≅(n/e).sup.n                                   (1)

    e.sup.T ≅10.sup.3                                (2)

then the number of shift operations needed is greater than 10¹⁸³.

Take a fast computer which is capable of execution 10⁹ steps per second. Note that 1 year=3.1536×10⁷ seconds. It will take about 10¹⁶⁶.

(2) Use resultant to eliminate variables x_(j) from the equations y_(i) =f_(i) (x₁, . . . ,x_(n)) and then solving the equations in last variable x_(i) to get the expressions x_(i) =g_(i) (y₁, . . . ,y_(n)).

The known complexity analysis (cf pg 75 6!) is O(n³ s^(5n) log² (dm)). In our example, the number of shift operations needed is greater than 10⁵⁰⁹. A fast computer will spend 3×10⁴⁹² years to do it.

(3) Find the maps .o slashed.₁,.o slashed.₂ directly. The forms of .o slashed.₁ is covered up in the final forms of π(x₁). We shall find .o slashed.₂ first. Let us consider the case that the polynomial g_(j) (x_(j+1), . . . ,x_(n)) is homogeneous of degree 4. There are (n(n+1)(n+2)(n+3))/4| monomials of degree 4 in n variables. That is the dimension of the space of the possible polynomials q_(j) in the above Equation (3)*.

In our previous example, let us find a simple lower bound of the number τ of the possible q_(i) in (3)**. Assume we separate all variable x₂, . . .,x₁₀₁ into 11 blocks of 8 variables and one 12 variables. Let us consider the following expression,

    x.sub.2 x.sub.3 x.sub.4 x.sub.5 +x.sub.4 x.sub.5 x.sub.6 x.sub.7 +x.sub.6 x.sub.7 x.sub.8 x.sub.9 +x.sub.8 x.sub.9 x.sub.2 x.sub.3

The number of all possible similar expressions is 8|/2⁴ 4. The corresponding one for the block of 12 variables is 12|/2⁵ 6. Therefore we have τ≧(100|/8|¹¹ 12|)(8|/2⁶)¹¹ (12|/2⁷ 3)≅(100¹⁰⁰ /8⁸⁸ 12¹²)6.20)10³¹ (1.24)10⁷ >(2.89)10¹⁴⁷ In other words, it takes at least 10¹³⁰ years for a fast computer to just look at all cases.

(4) The Newton Polyhedron Method is to study the convex hall of the set of the exponents of non-zero terms of f_(i) in n-dimensional space. This method may provide valuable informations about the polynomials f_(i). Many data are provided by the number of appearances of variables x_(j) mod 2 in f_(i). From those data we may speculate about the polynomial q_(j) +(x_(j+1), . . . ,x₁₀₁). In our example, those data are hidden.

Signatures.

Since we use automorphisms π, then given any y'₁,y'₂, . . . ,y'_(n), the legitimate user can easily produce x'₁,x'₂, . . . ,x'_(n) with x'_(i) =π(y'_(i)) as the digital signature.

The Public Key Scheme.

We will enhance the above method of the tame automorphisms to produce the following Public Key Scheme (see section 3!). One of the advantages is that all polynomials involved are quadratics. To this end we will first discuss the following technical section 2!.

2! Two Concepts.

Let h₁, . . . ,h_(s) be polynomials in variables x₁, . . . ,x_(t). If we consider polynomials in h₁, . . . ,h_(s), then some form, r, in x₁, . . . ,x_(t) may be the highest degree forms of a polynomial Q in h₁, . . . ,h_(s). We shall have the following definition.

DEFINITION. Let r(x₁, . . . ,x_(t)) be a form. Let the generating degree, in symbol gendeg(r), be the minimal degree of Q(h₁, . . . ,h_(s)) such that

    Q(h.sub.1,(x.sub.1, . . . ,x.sub.t) . . . ,h.sub.s (x.sub.1, . . . ,x.sub.t))=r+lower terms

If the above conditions are satisfied, then Q is called a (minimal) generating polynomial of r. If there is no such polynomial Q, then we define gendeg(r)=∞.

EXAMPLE 1

Let the field K be of 2^(m) elements, t=16 and s=27. Let

    h.sub.3 =x.sub.1 x.sub.2 ;

    h.sub.4 =x.sub.1 x.sub.3 ;

    h.sub.5 =x.sub.1 x.sub.4 ;

    h.sub.6 =x.sub.1 x.sub.5 ;

    h.sub.7 =x.sub.2 x.sub.4 ;

    h.sub.8 =x.sub.2 x.sub.5 ;

    h.sub.9 =x.sub.3 x.sub.4 +x.sub.6 x.sub.7 ;

    h.sub.10 =x.sub.3 x.sub.5 +x.sub.8 x.sub.9 ;

    h.sub.11 =x.sub.3 x.sub.6 ;

    h.sub.12 =x.sub.5 x.sub.7 ;

    h.sub.13 =x.sub.3 x.sub.9 ;

    h.sub.14 =x.sub.4 x.sub.8 ;

    h.sub.15 =x.sub.6 x.sub.8 ;

    h.sub.16 =x.sub.6 x.sub.9 ;

    h.sub.17 =x.sub.7 x.sub.8 +x.sub.10 x.sub.11 ;

    h.sub.18 =x.sub.7 x.sub.9 +x.sub.12 x.sub.13 ;

    h.sub.19 =x.sub.7 x.sub.10 ;

    h.sub.20 =x.sub.9 x.sub.11 ;

    h.sub.21 =x.sub.7 x.sub.12 ;

    h.sub.22 =x.sub.8 x.sub.13 ;

    h.sub.23 =x.sub.10 x.sub.12 ;

    h.sub.24 =x.sub.11 x.sub.13 ;

    h.sub.25 =x.sup.2.sub.1 +x.sub.14 ;

    h.sub.26 =x.sup.2.sub.14 +x.sub.15 ;

    h.sub.27 =x.sup.2.sub.15 +x.sub.16 ;

Then the following Q is a generating polynomial of x² ₁₆ of degree 8 in h_(i),

    Q=h.sup.4.sub.1 h.sup.4.sub.2 +h.sup.4.sub.3 h.sup.4.sub.4 +h.sup.4.sub.5 h.sup.4.sub.6 +h.sup.2.sub.7 h.sup.2.sub.8 (h.sup.2.sub.9 h.sup.2.sub.10 +h.sup.2.sub.11 h.sup.2.sub.12 +h.sup.2.sub.13 h.sup.2.sub.14)+h.sup.2.sub.7 h.sup.2.sub.8 h.sub.15 h.sub.16 (h.sub.17 h.sub.18 +h.sub.19 h.sub.20 +h.sub.21 h.sub.22 +h.sub.23 h.sub.24)+h.sup.8.sub.25 +h.sup.4.sub.26 +h.sup.2.sub.27

The following example will be used later.

EXAMPLE 2

Let the field K be of 2^(m) elements. Let

    p.sub.1 =x.sup.2.sub.1 ;

    p.sub.2 =x.sup.2.sub.2 ;

    p.sub.3 =x.sub.3 x.sub.2 ;

    p.sub.4 =x.sub.1 x.sub.3 +x.sub.4 x.sub.2 ;

    p.sub.5 =x.sub.1 x.sub.4 +x.sub.5 x.sub.2 ;

    p.sub.6 =x.sub.1 x.sub.5 +x.sub.6 x.sub.2 ;

    p.sub.7 =x.sub.1 x.sub.2 +x.sub.5 x.sub.6 ;

Then the following P is the minimal defining polynomial of the above polynomials over K,

    P=p.sup.7.sub.2 p.sup.2.sub.7 +p.sub.1 p.sup.8.sub.2 +(p.sup.2.sub.2 p.sup.2.sub.5 +p.sub.1 p.sub.2 p.sup.2.sub.4 +p.sup.2.sub.1 p.sup.2.sub.3) (p.sub.1 p.sup.2.sub.2 p.sup.2.sub.5 +p.sup.2.sub.1 p.sub.2 p.sup.2.sub.4 +p.sup.3.sub.1 p.sup.2.sub.3 +p.sup.3.sub.2 p.sup.2.sub.6)

Note that it is of degree 9.

Remark 6: The polynomials Q,P will be used to construct a public key scheme in the next section. The security of the scheme depends on the degrees Q,P and their complexities. However, the degrees of Q,P can be increased easily by the technique of the two examples. Therefore, any attack based on the degrees Q,P being 8,9 would not be taken seriously.

Let us introduce a new number as follows. Let h_(i) be a polynomial of (x₁, . . . ,x_(t)) with degree form q_(i). Let us define the diffdim (h_(i))=dim (the vector space generated by {αq_(i) /αx_(j) : j=1, . . . , t}). Note that diffdim h_(i) =0,2,4 in our previous examples.

3! Scheme.

Any pair of polynomials Q,P similar to the ones in the previous section can be used to produce a scheme. Let us consider the two example in the previous section and use their notations, especially the generating polynomial Q(h₁, . . . ,h₂₇) and the polynomials h₁, . . . ,h₂₇, homogenous polynomials p_(i). Let n=70, r=30. Let the field K be F_(2m) the finite field of 2^(m) elements. Let us use the following notations: we shall separate the indices i=1, . . . ,64 to the 10 blocks as i=1, i=1+j+7k where j=1, . . . ,7 and k=0, . . . ,8. The user selects the following randomly

    α.sub.i =α.sub.i (x.sub.1, . . . ,x.sub.i)=linear form involving x.sub.i, for i=1, . . . ,70

    β.sub.i =linear form in {x.sub.1, . . . ,x.sub.54 }, for i=65, . . . ,70, 98, 99, 100

    γ.sub.i =linear form in {x.sub.1, . . . ,x.sub.54 }, for i=65, . . . ,70, 98, 99, 100

The user selects .o slashed.₁ to be any random invertible linear transformation such that

    .o slashed..sub.1 (x.sub.i)=a.sub.i +linear forms in {x.sub.1, . . . ,x.sub.70 } with a.sub.i ≠0, for i, . . . ,70

    .o slashed..sub.i (x.sub.i)=x.sub.i, for i=71, . . . ,100

The user selects .o slashed.₂,.o slashed.₃ to be the tame automorphisms satisfies the following conditions (1)*-(7)* and .o slashed.₄ an invertible linear transformation satisfying the condition (8)* in the following way

    .o slashed..sub.2 (x.sub.1)=x.sub.1                        (1)*

    .o slashed..sub.2 (x.sub.i)=α.sub.i +p.sub.j (x.sub.1+6k, . . . ,x.sub.6+6k), where i=1+j+7k, for i=2, . . .,64           (2)*

    .o slashed..sub.2 (x.sub.i)=α.sub.i +β.sup.2.sub.i +γ.sub.i, for i=65, . . . ,70                       (3)*

    .o slashed..sub.2 (x.sub.i)=x.sub.1 +h.sub.i-70 (x.sub.55, . . . ,x.sub.70), for i=71, . . . ,97                           (4)*

    .o slashed..sub.2 (x.sub.i)=x.sub.i β.sup.2.sub.i +γ.sub.i, for i=98,99,100                                               (5)*

    .o slashed..sub.3 (x.sub.j)=x.sub.j, for j=2, . . . ,100.  (6)*

    .o slashed..sub.3 (x.sub.1)=x.sub.1 +b.sub.1 Q(x.sub.71. . . ,x.sub.97)), b.sub.1 ≠0                                          (7)*

    π(x.sub.i)=.o slashed..sub.4 .o slashed..sub.3 .o slashed..sub.2 .o slashed..sub.1 (x.sub.i)=π.sub.i (x.sub.i, . . . ,x.sub.100), π.sub.i (0, . . . ,0)=0                                (8)*

The field K and the polynomials f_(i) (x₁, . . . ,x₇₀)=π_(i) (x₁, . . . ,x₇₀, 0, . . . ,0) for i=1, . . . ,100 will be announced publicly.

Detail Description of the Scheme

Due to the notations and indices involved in the preceding paragraph, we shall write down concrete formula for .o slashed.₂ as follows,

    .o slashed..sub.2 (x.sub.1)=x.sub.1                        (1)*

    .o slashed..sub.2 (x.sub.2)=α.sub.2 +p.sub.1 (x.sub.1, . . . ,x.sub.6)=α.sub.2 +x.sup.2.sub.1,                   (2)*

    .o slashed..sub.2 (x.sub.3)=α.sub.3 +p.sub.2 (x.sub.1, . . . ,x.sub.6)=α.sub.3 +x.sup.2.sub.2,                   (2)*

    .o slashed..sub.2 (x.sub.4)=α.sub.4 +p.sub.3 (x.sub.1, . . . ,x.sub.6)=α.sub.4 +x.sub.3 x.sub.2,                 (2)*

    .o slashed..sub.2 (x.sub.5)=α.sub.5 +p.sub.4 (x.sub.1, . . . ,x.sub.6)=α.sub.5 +x.sub.3 x.sub.1 +x.sub.4 x.sub.2, (2)*

    .o slashed..sub.2 (x.sub.6)=α.sub.6 +p.sub.5 (x.sub.1, . . . ,x.sub.6)=α.sub.6 +x.sub.4 x.sub.1 +x.sub.5 x.sub.2, (2)*

    .o slashed..sub.2 (x.sub.7)=α.sub.7 +p.sub.6 (x.sub.1, . . . ,x.sub.6)=α.sub.7 +x.sub.5 x.sub.1 +x.sub.6 x.sub.2, (2)*

    .o slashed..sub.2 (x.sub.8)=α.sub.8 +p.sub.7 (x.sub.1, . . . ,x.sub.6)=α.sub.8 +x.sub.1 x.sub.2 +x.sub.5 x.sub.6, (2)*

    .o slashed..sub.2 (x.sub.9)=α.sub.9 +p.sub.1 (x.sub.7, . . . ,x.sub.12)=α.sub.9 +x.sup.2.sub.7,                  (2)*

    .o slashed..sub.2 (x.sub.10)=α.sub.10 +p.sub.2 (x.sub.7, . . . ,x.sub.12)=α.sub.10 +x.sup.2.sub.8,                 (2)*

    .o slashed..sub.2 (x.sub.58)=α.sub.58 +p.sub.1 (x.sub.49, . . . ,x.sub.54)=α.sub.58 +x.sup.2.sub.49,                (2)*

    .o slashed..sub.2 (x.sub.59)=α.sub.59 +p.sub.2 (x.sub.49, . . . ,x.sub.54)=α.sub.59 +x.sup.2.sub.50,                (2)*

    .o slashed..sub.2 (x.sub.60)=α.sub.60 +p.sub.3 (x.sub.49, . . . ,x.sub.54)=α.sub.60 +x.sub.51 x.sub.50,             (2)*

    .o slashed..sub.2 (x.sub.61)=α.sub.61 +p.sub.4 (x.sub.49, . . . ,x.sub.54)=α.sub.61 +x.sub.51 x.sub.49 +x.sub.52 x.sub.50, (2)*

    .o slashed..sub.2 (x.sub.62)=α.sub.62 +p.sub.5 (x.sub.49, . . . ,x.sub.54)=α.sub.62 +x.sub.52 x.sub.49 +x.sub.53 x.sub.50, (2)*

    .o slashed..sub.2 (x.sub.63)=α.sub.63 +p.sub.6 (x.sub.49, . . . ,x.sub.54)=α.sub.63 +x.sub.49 x.sub.53 +x.sub.54 x.sub.50, (2)*

    .o slashed..sub.2 (x.sub.64)=α.sub.64 +p.sub.7 (x.sub.49, . . . ,x.sub.54)=α.sub.64 +x.sub.49 x.sub.50 +x.sub.53 x.sub.54, (2)*

    .o slashed..sub.2 (x.sub.65)=α.sub.65 +β.sup.2.sub.65 +γ.sub.65                                           (3)*

    .o slashed..sub.2 (x.sub.70)=α.sub.70 +β.sup.2.sub.70 +γ.sub.70                                           (3)*

    .o slashed..sub.2 (x.sub.71)=x.sub.71 +h.sub.1 (x.sub.55, . . . ,x.sub.70)=x.sub.71 +x.sup.2.sub.55 +x.sub.56 x.sub.57,   (4)*

    .o slashed..sub.2 (x.sub.72)=x.sub.72 +h.sub.2 (x.sub.55, . . . ,x.sub.70)=x.sub.72 +x.sup.2.sub.55 +x.sub.58 x.sub.59,   (4)*

    .o slashed..sub.2 (x.sub.73)=x.sub.73 +h.sub.3 (x.sub.55, . . . ,x.sub.70)=x.sub.73 +x.sub.55 x.sub.56,                   (4)*

    .o slashed..sub.2 (x.sub.74)=x.sub.74 +h.sub.4 (x.sub.55, . . . ,x.sub.70)=x.sub.74 +x.sub.55 x.sub.57,                   (4)*

    .o slashed..sub.2 (x.sub.96)=x.sub.96 +h.sub.26 (x.sub.55, . . . ,x.sub.70)=x.sub.96 +x.sup.2.sub.68 +x.sub.69,            (4)*

    .o slashed..sub.2 (x.sub.97)=x.sub.97 +h.sub.27 (x.sub.55, . . . ,x.sub.70)=x.sub.97 +x.sup.2.sub.69 +x.sub.70,            (4)*

    .o slashed..sub.2 (x.sub.98)=x.sub.98 +β.sup.2.sub.98 +γ.sub.98 (5)*

    .o slashed..sub.2 (x.sub.99)=x.sub.99 +β.sup.2.sub.99 +γ.sub.99 (5)*

    .o slashed..sub.2 (x.sub.100)=x.sub.100 +β.sup.2.sub.100 +γ.sub.100                                          (5)*

Plaintexts, Users and Compactness:

Let us count the possible number of plaintexts; since the number of plaintexts is just the number of choices for x'₁, . . . ,x'₇₀, we see that there are 2^(70m) such plaintexts. To have a rich scheme and to prevent the attackers from forming tables of plaintext-cyphertext, and to avoid the usage of the following identities over the finite field F^(m) ₂ to cut down the degrees,

    x.sup.2m.sub.i -x.sub.i =0

it is suggested to require m≧20.

Of equal importance to have a large number of possible plaintexts is having lots of possible users. In order to allow for many such users, we first get an expression for this number in terms of m and 70. This amounts to count the number of automorphisms .o slashed. of the form .o slashed.=.o slashed.₁ .o slashed.₂ .o slashed.₃ .o slashed.₄. Assuming that a negligible proportion of these automorphism .o slashed. have more than one representation .o slashed.=.o slashed.₁ .o slashed.₂ .o slashed.₃ .o slashed.₄ .o slashed.=.o slashed.'₁ .o slashed.'₂ .o slashed.'₃ .o slashed.'₄, the number of users is asymptotic to (choices for .o slashed.₄)×(choices for .o slashed.₃)×(choices for .o slashed.₂)×(choices for .o slashed.₁). The number of invertible linear transformations .o slashed.₁ is Π^(n) _(j=l) (2^(mj) -1)≅2^(mn)(n-1)/2 ≅2^(3003m). A similar count of terms of .o slashed.₄ shows that the total possible number of users is >2^(7953m).

It follows from Corollary 2 and the preceding conditions that we have,

    max{deg.sub.y1 .o slashed..sup.-1.sub.2 (x.sub.j)}≧2.sup.13

Since .o slashed.₁,.o slashed.₄ are linear transformations, therefore the theoretic total number of terms in π⁻¹ is 100 (Π_(i) (2¹³ +i))/100|>10²⁵⁴. Note that the form of the map π is not given to the public. Without knowing it, it is impossible to compute π⁻¹.

We will study the compactness of the scheme. It is easy to see that the number of terms of polynomials of degree 2 is (71)(72)/2|, and we have 100 polynomials, therefore the total number of terms is 255,600. Using a simple trick, we may reduce the number to 191,988. We believe that the numbers may be further reduced. This is the cost to the senders. For the legitimate receiver, the number of terms for .o slashed.₁ ⁻¹,.o slashed.₂ ⁻¹,.o slashed.₃ ⁻¹,.o slashed.₄ ⁻¹ is 25,000.

As the technique improves, and new generating polynomial and defining polynomial Q,P discovered, the number of terms will be reduced.

Error Detecting Function

Upon receiving the cypertext (y'₁, . . . ,y'₁₀₀), the user apply .o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ .o slashed.₃ ⁻¹ .o slashed.₄ ⁻¹ to decode and get (x₁, . . . ,x₁₀₀). If one of x₇₁, . . . ,x₁₀₀ is not zero, then there must be an error.

Master Key Function

Select a group of indices from 98, 99, 100. Select .o slashed.₄ such that the corresponding subspace generated by x_(i) with i from this group of indices and the subspace generated by x_(j) of the remaining indices from 1, . . . ,100 are both invariant. The original scheme is the master key. Another key can be produced by deleting all f_(i) with i from this group of indices.

Another way to produce a master key is to find a polynomial Q(f₁, . . . ,f_(n), . . . ,f_(n+r+s)), such that both it and its specialization Q(f₁, . . . ,f_(n+r),0, . . . ,0) can be used to construct public key scheme. Then we require that .o slashed.₁ to keep that space {c₁, . . . ,c_(n+r),0, . . . ,0} invariant and use the specialization x_(i) →0 for i=n+r+1, . . . , n+r+s to create a master key.

The `master key-ordinary key` relation can be broken by alternating any one of the 4 linear transformations .o slashed.₁,.o slashed.₄ involved.

Signatures

The map π is not an onto map. However, we may restrict to a suitable subspace. Let V={(d₁, . . . ,d_(j),0, . . . ,0)} where j is a fixed integer less than or equal to 54, say 50. Let V=.o slashed.₁ ⁻¹ (V). We shall require that .o slashed.₄ induces a linear transformation on W={(e₁. . . ,e_(j),0, . . . ,0)}. Let τ: (c₁, . . . ,c_(j), . . . ,c₁₀₀)→(c₁, . . . ,c_(j)) be a projection. Then clearly τπ in an one to one and onto map from V to the j-dimensional affine space. Moreover, the map is tame, and its inverse can be found if the values (y'₁, . . . ,y'_(j)) are known. The inverse forms a signature.

4! Cryptanalysis for the Scheme.

I. Direct Methods

It is not expensive for the legitimate user to select α_(j),β_(j),γ_(j),b_(j), the tame automorphism π, and to construct an inverse map π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ .o slashed.₃ ⁻¹ .o slashed.₄ ⁻¹ (cf Corollary 3), the polynomials f_(i) (x₁, . . . ,x₇₀)=π_(i) (x₁, . . . ,x₇₀,0, . . . ,0) for i=1, . . . ,100.

The expense to the sender is mainly in evaluation polynomials y'_(i) =f_(i) (x'₁, . . . ,x'₇₀).

There are three direct ways to attack the scheme, (1) use the `inverse formula` for power series to find the polynomial expressions of π⁻¹ (cf 9!). Note that only π is given, and there is no way to find π⁻¹ which does not exist theoretically, or (2) let x_(i) be polynomials of y_(i) with indeterminate coefficients. Do enough experiments using x_(i) to determine y_(j) and then solve the system of linear equations in the indeterminate coefficients to find polynomials g_(i) or (3) using resultant to the expressions y'_(i) =f_(i) (x'₁, . . . ,x'₇₀) to eliminate all x'_(i) except one, and recover the expressions of x'_(j) in terms of y'₁, . . . ,y'₁₀₀.

At this moment, the number of terms of the inverse map π⁻¹ >(10²⁵⁴) which is beyond reach. The above three methods are ineffective. The only possible way of attacking is to recover .o slashed._(i) or their equivalent forms.

II. Search for the Generating Polynomial

Knowing the recipe of the construction of the public key scheme, one may launch a step by step search as follows. We consider all monomials of some fixed degree of all polynomials f₁, . . . ,f₁₀₀. It follows from Example 1 & 2 of section 4 that we have to consider polynomials of degree 9 or 8 in f₁, . . . ,f₁₀₀. For degree 9, the dimension is C¹⁰⁸ ₉ ≈4(10¹²). For degree 8, the dimension is ≈3.26(10¹¹). They are beyond the reach of present day computing technology. We may select Q,P with higher degrees to defend the scheme if necessary.

III. Identify Degree Forms

We should try to find v_(i) =the highest degree forms of .o slashed.₂ (x_(i)). Let the highest degree forms of f_(i) =u_(i). Let U={the vector space generated by u_(i) }. As we pointed out in section 4 that the diffdim of some polynomial h_(i) is 4. Then we want to find suitable numbers (z₁, . . . ,z₁₀₀) such that for some fixed k, ##EQU5## and diffdim(v_(k))=4. A necessary condition is that all partial derivatives, w_(j), of w with respect to x_(j) span a vector space of dimension=4. Let u_(ij) =Σa_(ijk) x_(k) be the partial derivative of u_(i) with respect to x_(j). We have several ways of using the above information.

A: Let A_(i) be the 100×100 coefficient matrix (a_(ijk)), and A=Σ_(i=1) ¹⁰⁰ z_(i) A_(i). Let us assume that A is of rank 4 with coefficients linear forms in the variables z_(i), . . . ,z₁₀₀. It produces 100 homogenous equations in 100 variables of degree 5. It follows from pg 75 of 7! that the time required to solve the equations is O(m² (100)² 5⁵⁰⁰)≅m² 10³³⁷.

B: Since the diffdim (vk)=4, for some c₁,c₂,c₃,c₄,c₅, we have Σ_(j=1) ⁵ c_(j) w_(j) =0. Let B_(j) be the 100×100 coefficient matrix (a_(ijk)), and B=Σ_(j=1) ⁵ c_(j) B_(j). Then B is of rank <100 with coefficients linear forms in the variables c_(i), . . . ,c₅. It produces 5 homogenous equations in 5 variables of degree 100. It follows from pg 75 of 7! that the time required to solve the equations is O(m² 5² (100²⁵)). The number is ≅m² 2.5(10⁵¹).

C: We may try random tuple (u'₁, . . . ,u'₅) from that number field F_(2M). The total possibility is 2^(5m) ≅10³⁰ if we take m=20.

Note that there are 3 (10⁷) seconds in a year. Let us use a fast computer which operate 10⁹ shift operations a second. Then it takes about m² 10³²⁰, m² 10³⁴,10¹³ years respectively for the above method A, B, C to find the quadratic forms.

While this invention has been described as having an exemplary design, the present invention may be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains.

REFERENCES

1! ABHYANKAR, S. S. and MOH, T. T., Embeddings of the line in the plane., Journal fur die reine and angewandte Mathematik., 276 (1975), 148-166.

2! BAJAJ, C. GARRITY, T. WARREN, J., On the Application of Multi-Equational Resultants, Purdue University, Dept. of C.S. Technical Report CSD-TR-826 (1988).

3! BERLEKAMP, E. R., Factoring polynomials over finite fields, Bell System Tech. J., 46 (1967), 1953-1859.

4! BRANDSTROM, H., A public-key cryptosystem based upon equations over a finite field, Cryptologia, 7 (1983), 347-358.

5! BRENT, R., and KUNG, H.,, Fast Algorithms for Manipulating Formal Power Series, Journal of ACM,, 25 Number 4 (1978), 581-595.

6! BRESINSKY, H., On Prime Ideals with Generic Zero x_(i) =t^(ni), Proc. Amer. Math Soc., 47 Number 2 (1975), 329-332.

7! CANNY, JOHN F., The Complexity of Robot Motion Planning, The MIT Press, Cambridge, Massachusetts, 1988.

8! COHEN, HENRI, A course in Computational Algebraic Number Theory, Springer-Verlag, Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest, 1983

9! DICKERSON, MATHEW, The inverse of an automophism in Polynomial Time, J. Symbolic Computation (1992 (13)), 209-220.

10! LIDL, R and H. NIEDERREITER, Finite fields, Addison-Wesley, Reading, Mass., 1983.

11! LIDL, R, On Cryptosystems Based on Polynomials and Finite Fields, Advances in Cryptology (Proceedings of EUROCRYPT 84) (1984), 10-15.

12! MOH, T. T., On the Classification Problem of Embedded Lines in Characteristic p,, Algebraic Geometry and Commutative Algebra in honor of M. Nagata (1988) Vol. I, 267-280.

13! NAGATA, M., On the automorphism group of K X,Y!,, Lectures in Mathematics, Tokyo, 1972.

14! H. NIEDERREITER, New Deterministic Factorization Algorithms for Polynomials over Finite Fields, Contemporary Mathematics (Finite Fields), 168 (1993), 251-268.

15! R. L. RIVEST, A. SHAMIR & L. ADLEMAN, A Method for Obtaining Digital Signatures and Public Key Cryptosystems, ACM 21, 120-126 (February 1978).

16! J. HOPCROFT, J. ULLMAN, Introduction to Automata Theory, Languages & Computation, Addison Wesley, Reading, Mass., 1979.

17! W. VAN DER KULK, On polynomial rings in two variables,, Nieuw Archief voor Wiskunde. (3), I (1953), 33-41. 

What is claimed is:
 1. A method of electronically transmitting messages comprising the steps: applying an encryption algorithm to encode a plain text message into a cyphertext message for electronic transmission; transmitting the cyphertext message over an electronic medium; receiving the cyphertexted message; and decrypting the cyphertext message, characterized in that the encrypting and decrypting steps utilize a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said applying and decrypting steps.
 2. The method of claim 1 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x_(i), . . . ,x_(n) : ##EQU6## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 3. The method of claim 2 characterized in that the tame automorphism based algorithm utilizes two encryption keys, a public key π(x₁)=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where each term of the form .o slashed._(i) is a tame automorphism.
 4. The method of claim 3 characterized in that the public key is made publicly available.
 5. The method of claim 4 characterized in that the private key is maintained privately.
 6. A computer system for transmitting electronic messages comprising encoding means for encrypting a plain text message into a cyphertext message; and decoding means for decrypting the cyphertext message, characterized in that said encoding means utilizes a tame automorphism based encryption algorithm and the decoding means utilizes a tame automorphism based decryption algorithm, said tame automorphism based encryption and decryption algorithms using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said encoding means and said decrypting means.
 7. The computer system of claim 6 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU7## any linear transformation of the above referenced equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 8. The computer system of claim 7 characterized in that the tame automorphism based algorithm utilizes two encryption keys, a public key π(x_(i))=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where .o slashed._(i) is a tame automorphism.
 9. The computer system of claim 8 characterized in that the public key is made publicly available.
 10. The computer system of claim 9 characterized in that the private key is maintained privately.
 11. A method of preserving the integrity and privacy of data comprising the steps: applying an encryption algorithm to encode the data into a cyphertext; decrypting the cyphertext data, characterized in the applying and decrypting steps utilize a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said applying and decrypting steps.
 12. The method of claim 11 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU8## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 13. The method of claim 12 characterized in that the tame automorphism algorithm utilizes two encryption keys, a public key π(x_(i))=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where where each term of the form .o slashed._(i) is a tame automorphism.
 14. The method of claim 13 characterized in that the public key is made publicly available.
 15. The method of claim 14 characterized in that the private key is maintained privately.
 16. A method of verifying the authenticity of a product comprising the steps: applying a private key encryption algorithm to encode a serial number of the product into a cyphertext; decrypting the cyphertext serial numbers using the public key to verify the authenticity of the product, characterized in the applying and decrypting steps utilize a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said applying and decrypting steps.
 17. The method of claim 16 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU9## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 18. The method of claim 17 characterized in that the tame automorphism utilizes two encryption keys, a public key π(x_(i))=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where where each term of the form .o slashed._(i) is a tame automorphism.
 19. The method of claim 18 characterized in that the public key is made publicly available.
 20. The method of claim 19 characterized in that the private key is maintained privately.
 21. A method of avoiding unauthorized alteration of data in a data storage card comprising the steps: applying the private key encryption algorithm to encode the modification of data in the data storage card; decrypting the encrypted data using the public key, characterized in the applying and decrypting steps utilize a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said applying and decrypting steps.
 22. The method of claim 21 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU10## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 23. The method of claim 22 characterized in that the tame automorphism based algorithm utilizes two encryption keys, a public key π(x_(i))=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where where each term of the form .o slashed._(i) is a tame automorphism.
 24. The method of claim 23 characterized in that the public key is made publicly available.
 25. The method of claim 24 characterized in that the private key is maintained privately.
 26. A method of verifying the identity of the sender of electronically transmitted message comprising the steps: transmitting one signal from a non-repeating sequence; applying a private key encryption algorithm to encode the signal into a cyphertext; decrypting the cyphertext signal using a public key, characterized in the applying and decrypting steps utilize a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in said applying and decrypting steps.
 27. The method of claim 26 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU11## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order.
 28. The method of claim 27 characterized in that the tame automorphism based algorithm utilizes two encryption keys, a public key π(x_(i))=.o slashed._(k) . . . .o slashed.₂ .o slashed.₁ (x_(i))=f_(i) (x₁, . . . ,x_(n)) and a private key π⁻¹ =.o slashed.₁ ⁻¹ .o slashed.₂ ⁻¹ . . . .o slashed._(k) ⁻¹, where each term of the form .o slashed._(i) is a tame automorphism.
 29. The method of claim 28 characterized in that the public key is made publicly available.
 30. The method of claim 29 characterized in that the private key is maintained privately.
 31. A method of creating ordinary public key from a master public key in a two key encryption system comprising the steps of replacing a portion of the encryption polynomial with zero values, characterized in that the encryption polynomial utilizes a tame automorphism based algorithm using a product of at least two automorphism based polynomials as an encryption key and a mapping of the inverse of said encryption key as a decryption key in the two key encryption system.
 32. The method of claim 31 characterized in that the tame automorphism based algorithm includes an equation of one of the forms in any order of the variables x₁, . . . ,x_(n) : ##EQU12## any linear transformation of the above mentioned equations, where each term of the form h_(ij) (x_(j+1), . . . ,x_(n)) is a polynomial of a known order. 